package com.xuecheng.content.mapper;

import com.xuecheng.content.model.po.Teachplan;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xuecheng.content.model.po.TeachplanTreeNode;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 课程计划 Mapper 接口
 * </p>
 *
 * @author itcast
 */
public interface TeachplanMapper extends BaseMapper<Teachplan> {
    /**
     * 查询课程树形结构（包含媒资信息）
     * @param courseId 课程ID
     * @return 树形结构节点列表（平铺结构）
     */
    List<TeachplanTreeNode> selectCourseTree(@Param("courseId") Long courseId);

    /**
     * 动态更新非空字段
     * @param teachplan 要更新的实体对象
     * @return 受影响的行数
     */
    int updateNotEmptyFields(Teachplan teachplan);

}
